package ru.simplemaps.map.provider;

import ru.simplemaps.map.elements.ElementType;
import ru.simplemaps.map.elements.MapElement;
import ru.simplemaps.osmapi.common.BBox;

import java.util.Collection;

/**
 * @author enaku_adm
 * @since 29.07.2010 17:31:35
 */
public interface LoadListener {

    /**
     * Вызывается, когда часть данных загружена
     *
     * @param progress прогресс загрузки (от 0 до 100)
     * @param loaded   область, для которой загружены данные
     * @param data     загруженные данные
     * @param type     тип загруженных данных
     */
    void onLoad(double progress, BBox loaded, Collection<? extends MapElement> data, ElementType type);

    /**
     * Вызывается при ошибке загрузки данных
     * @param exception произошедшая ошибка
     */
    void onFailure(Exception exception);
}
